package com.winhxd.b2c.common.domain.product.condition;

import com.winhxd.b2c.common.domain.common.ApiCondition;
import com.winhxd.b2c.common.domain.common.PagedCondition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Getter
@Setter
public class ProductCondition extends PagedCondition implements Serializable {

    @ApiModelProperty("ids")
    private List<Long> ids;

    @ApiModelProperty("id")
    private Long spuId;

    @ApiModelProperty("一级分类")
    private Integer categoryOneId;

    @ApiModelProperty("二级分类")
    private Integer categoryTwoId;

    @ApiModelProperty("商品货号")
    private String spuCode;

    @ApiModelProperty("商品名称")
    private String spuName;

    @ApiModelProperty("上下架状态(1上架，0下架)")
    private Byte saleStatus;

    @ApiModelProperty("库存状态")
    private Long stockStatus;

    @ApiModelProperty("1有效 ; 0回收站")
    private Long recycleBin;

    @ApiModelProperty("操作：1、上下架；2、删除")
    private Long operate;

    @ApiModelProperty("状态(0未删除,1已删除)")
    private Integer status;

    @ApiModelProperty(value = "价格方案主键ID")
    private Long priceTypeId;

    @ApiModelProperty(value = "用户等级，3为原译员工")
    private Integer level;

    public enum OPERATE {

        UP(1L,"上架"),

        DOWN(2L,"下架"),

        DELETE(3L,"删除"),

        RESTORE(4L,"还原");

        private Long code;

        private String text;

        OPERATE(Long code, String text) {
            this.code = code;
            this.text = text;
        }

        public Long getCode() {
            return code;
        }

        public void setCode(Long code) {
            this.code = code;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }



}
